在linux下写的mysql无法插入,sql语句在复制中变'脏'了.
1:问题故障描述 因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统, 同事发到项目管理系统后不能运行.于是有了这篇文章. 2:首先新建表 CREATE TABLE IF NOT EXISTS `nns_a
1:问题故障描述
因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统,
同事发到项目管理系统后不能运行.于是有了这篇文章.
2:首先新建表
CREATE TABLE IF NOT EXISTS `nns_ad_log_count` ( `nns_id` char(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '广告ID', `nns_access_type` tinyint(4) NOT NULL COMMENT '0:5m 1:1h 2:24h=1d', `nns_access_day` date NOT NULL COMMENT '哪一天的', `nns_access_index` int(11) NOT NULL COMMENT '间隔数,5m 1h 1d=24h', `nns_access_count` int(11) NOT NULL ) ENGINE=InnoDb DEFAULT CHARSET=utf8;
这步是OK的.
接着因为项目扩展,增加了1个字段,同时需要修改一个表的字段名和另外几个表的default 默认值和类型
ALTER TABLE `nns_ad_log_count` CHANGE `nns_id` `nns_ad_id` CHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '广告ID';
上面这步,是用的phpmyadmin添加的字段后生成的一句sql, 看上去是没问题的,复制到word里面,再拿到mysql里面执行一下
报错了.百思不得其解,
为什么会这样子呢?
3: 错误分析.
生成的sql,是干净的, 途中同事只粘贴进了word.
于是手写了一遍这个sql,并且在mysql里面运行 (为了测试,我复制了上面的表结构,并且新建了一个测试的表`nns_ad_log_count1`)
运行正常
同事只复制了一次,粘贴到了word (libreoffice)
我重复一下他的动作
"1. 先用浏览器打开phpmyadmin,在phpmyadmin里面直接修改一次,产生sql语句"
"2. 在phpmyadmin 里面,复制生成的sql到系统的剪贴板缓存"
"3. 粘贴进word"
"4. 重复其他的修改操作,重复1,2,3步"
"5. 把整个word发送给我"
"6. 我把word里面的sql拷贝出来,运行 "
"7. 报错"
打开word,发现sql的语句的空格在word里面高亮了
但是在mysql里面直接执行并没能看见这个东西,在phpmyadmin里面执行上面的sql
空格显示出来了,原来是这个?
自此问题已经明了.sql语句在复制到word后给污染了. 但是为什么会这样子污染呢? 发现只有word粘贴进去后,会把utf8下的空格换成?
这个应该是linux下的office工具的问题, 这里就不再陈述了
4: 后记, 在linux下做开发提交的sql语句,
建议复制到vim里面查看详细的格式,
或者更简单的,复制出来后,在浏览器地址栏粘贴一次再复制进word来提交文档.以免sql变脏出错.

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

MySQLとPHPMyAdminは、次の手順を通じて効果的に管理できます。1。データベースの作成と削除:PHPMyAdminをクリックして完了します。 2。テーブルの管理:テーブルを作成し、構造を変更し、インデックスを追加できます。 3。データ操作:データの挿入、更新、削除、SQLクエリの実行をサポートします。 4。データのインポートとエクスポート:SQL、CSV、XML、およびその他の形式をサポートします。 5。最適化と監視:最適化可能なコマンドを使用してテーブルを最適化し、クエリアナライザーと監視ツールを使用してパフォーマンスの問題を解決します。

CのDMAとは、直接メモリアクセステクノロジーであるDirectMemoryAccessを指し、ハードウェアデバイスがCPU介入なしでメモリに直接データを送信できるようにします。 1)DMA操作は、ハードウェアデバイスとドライバーに大きく依存しており、実装方法はシステムごとに異なります。 2)メモリへの直接アクセスは、セキュリティリスクをもたらす可能性があり、コードの正確性とセキュリティを確保する必要があります。 3)DMAはパフォーマンスを改善できますが、不適切な使用はシステムのパフォーマンスの低下につながる可能性があります。実践と学習を通じて、DMAを使用するスキルを習得し、高速データ送信やリアルタイム信号処理などのシナリオでその効果を最大化できます。

CでのハイDPIディスプレイの取り扱いは、次の手順で達成できます。1)DPIを理解してスケーリングし、オペレーティングシステムAPIを使用してDPI情報を取得し、グラフィックスの出力を調整します。 2)クロスプラットフォームの互換性を処理し、SDLやQTなどのクロスプラットフォームグラフィックライブラリを使用します。 3)パフォーマンスの最適化を実行し、キャッシュ、ハードウェアアクセラレーション、および詳細レベルの動的調整によりパフォーマンスを改善します。 4)ぼやけたテキストやインターフェイス要素などの一般的な問題を解決し、DPIスケーリングを正しく適用することで解決します。

MacOSANDLINUXBOTHEFFERUNIQUESTRENGSS:MacOSProvidesAuser-FriendlyExperienceとExcellenthardWareIntegration、Whilelinuxexcelsinfexibility andCommunitySupport.macos、decondbyApple、sleekinterfaceStemation、whiseedlinuxを使用しています

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

MacOSとLinuxには、互換性とユーザーエクスペリエンスに独自の利点があります。 MacOSはAppleエコシステム内で優れた互換性を持ち、ユーザーエクスペリエンスはシンプルで直感的です。 Linuxには、優れたハードウェアの互換性とソフトウェアの柔軟性があります。ユーザーエクスペリエンスは、配布ごとに異なり、パーソナライズと制御を強調します。
