在Linux下写的MySQL无法插入,sql语句在复制中变'脏'了
1:问题故障描述 因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统, 同事发到项目管理系统后不能运行.于是有了这篇文章. 2:首先新建表 1.CREATE TABLE IF NOT EXISTS `nns_
1:问题故障描述因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统,
同事发到项目管理系统后不能运行.于是有了这篇文章.
2:首先新建表
1.CREATE TABLE IF NOT EXISTS `nns_ad_log_count` (
2. `nns_id` char(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '广告ID', 3. `nns_access_type` tinyint(4) NOT NULL COMMENT '0:5m 1:1h 2:24h=1d', 4. `nns_access_day` date NOT NULL COMMENT '哪一天的', 5. `nns_access_index` int(11) NOT NULL COMMENT '间隔数,5m 1h 1d=24h', 6. `nns_access_count` int(11) NOT NULL 7.) ENGINE=InnoDb DEFAULT CHARSET=utf8;
这步是OK的.
接着因为项目扩展,增加了1个字段,同时需要修改一个表的字段名和另外几个表的default 默认值和类型
1.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)

ホットトピック











Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

Linuxは、豊富なツールとコミュニティサポートを提供するネイティブプラットフォームであるため、LinuxでDockerが重要です。 1. docker:sudoapt-getupdateとsudoapt-getinstalldocker-cedocker-ce-clicotainerd.ioを使用します。 2。コンテナの作成と管理:Dockerrun-D-Namemynginx-P80:80NginxなどのDockerrunコマンドを使用します。 3。DockerFileを書き込み:画像サイズを最適化し、マルチステージ構造を使用します。 4。最適化とデバッグ:DockerLogsとDockerexを使用します

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

フロントエンド開発においてJSONで機能と正規表現を安全に処理することができますが、JavaScriptが必要です...

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

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

Centosは、優れたセキュリティ、安定性、パフォーマンスのために、サーバー環境とエンタープライズ環境にとって最初の選択肢です。 1)セキュリティは、システムセキュリティを改善するために、SELINUXを介した強制アクセス制御を提供します。 2)システムの安定性を確保するために、安定性はLTSバージョンによって最大10年間サポートされています。 3)パフォーマンスにより、カーネルとシステムの構成を最適化することにより、システムの応答速度とリソースの使用率が大幅に向上します。
